package com.cdutetc.eps.common;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
// @Data 全部属性都添加getter和setter
@Data
// 无参构造函数
@NoArgsConstructor
// 全参数构造函数
@AllArgsConstructor
public class ApiResponse<T> {
    private int code;
    private String msg;
    private T data;
    // 正常 无数据
    public static <T> ApiResponse<T> success(){
        return new ApiResponse<>(200,"操作成功",null);
    }
    // 正常 有数据
    public static <T> ApiResponse<T> success(T data){
        return new ApiResponse<>(200,"操作成功",data);
    }
    // 不正常 自定义消息 
    public static <T> ApiResponse<T> error(String msg){
        return new ApiResponse<>(500,msg,null);
    }
    // 不正常 自定义消息和错误码 
    public static <T> ApiResponse<T> error(String msg,int code){
        return new ApiResponse<>(code,msg,null);
    }

    
}
